﻿using System.Collections.Generic;

namespace Centido.Core
{
    /// <summary>
    ///   Represents a user.
    /// </summary>
    public interface IUser : IPrincipal
    {
        /// <summary>
        ///   Gets the user ability to change the schema.
        /// </summary>
        /// <value>Returns true if the user can change the schema; otherwise, false.</value>
        bool CanChangeSchema { get; }


        /// <summary>
        ///   Gets the user ability to change security settings.
        /// </summary>
        /// <value>Returns true if the user can change security settings; otherwise, false.</value>
        bool CanChangeSecurity { get; }


        /// <summary>
        ///   Gets the business units which the user is enrolled into
        /// </summary>
        ICollection<Unit> Units { get; }
    }
}
